home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / clarrv.z / clarrv
Encoding:
Text File  |  2002-10-03  |  6.7 KB  |  199 lines

  1.  
  2.  
  3.  
  4. CCCCLLLLAAAARRRRRRRRVVVV((((3333SSSS))))                                                          CCCCLLLLAAAARRRRRRRRVVVV((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CLARRV - compute the eigenvectors of the tridiagonal matrix T = L D L^T
  10.      given L, D and the eigenvalues of L D L^T
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CLARRV( N, D, L, ISPLIT, M, W, IBLOCK, GERSCH, TOL, Z, LDZ,
  14.                         ISUPPZ, WORK, IWORK, INFO )
  15.  
  16.          INTEGER        INFO, LDZ, M, N
  17.  
  18.          REAL           TOL
  19.  
  20.          INTEGER        IBLOCK( * ), ISPLIT( * ), ISUPPZ( * ), IWORK( * )
  21.  
  22.          REAL           D( * ), GERSCH( * ), L( * ), W( * ), WORK( * )
  23.  
  24.          COMPLEX        Z( LDZ, * )
  25.  
  26. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  27.      These routines are part of the SCSL Scientific Library and can be loaded
  28.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  29.      directs the linker to use the multi-processor version of the library.
  30.  
  31.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  32.      4 bytes (32 bits). Another version of SCSL is available in which integers
  33.      are 8 bytes (64 bits).  This version allows the user access to larger
  34.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  35.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  36.      only one of the two versions; 4-byte integer and 8-byte integer library
  37.      calls cannot be mixed.
  38.  
  39. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  40.      CLARRV computes the eigenvectors of the tridiagonal matrix T = L D L^T
  41.      given L, D and the eigenvalues of L D L^T. The input eigenvalues should
  42.      have high relative accuracy with respect to the entries of L and D. The
  43.      desired accuracy of the output can be specified by the input parameter
  44.      TOL.
  45.  
  46.  
  47. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  48.      N       (input) INTEGER
  49.              The order of the matrix.  N >= 0.
  50.  
  51.      D       (input/output) REAL array, dimension (N)
  52.              On entry, the n diagonal elements of the diagonal matrix D.  On
  53.              exit, D may be overwritten.
  54.  
  55.      L       (input/output) REAL array, dimension (N-1)
  56.              On entry, the (n-1) subdiagonal elements of the unit bidiagonal
  57.              matrix L in elements 1 to N-1 of L. L(N) need not be set. On
  58.              exit, L is overwritten.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCLLLLAAAARRRRRRRRVVVV((((3333SSSS))))                                                          CCCCLLLLAAAARRRRRRRRVVVV((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      ISPLIT  (input) INTEGER array, dimension (N)
  75.              The splitting points, at which T breaks up into submatrices.  The
  76.              first submatrix consists of rows/columns 1 to ISPLIT( 1 ), the
  77.              second of rows/columns ISPLIT( 1 )+1 through ISPLIT( 2 ), etc.
  78.  
  79.      TOL     (input) REAL
  80.              The absolute error tolerance for the eigenvalues/eigenvectors.
  81.              Errors in the input eigenvalues must be bounded by TOL.  The
  82.              eigenvectors output have residual norms bounded by TOL, and the
  83.              dot products between different eigenvectors are bounded by TOL.
  84.              TOL must be at least N*EPS*|T|, where EPS is the machine
  85.              precision and |T| is the 1-norm of the tridiagonal matrix.
  86.  
  87.      M       (input) INTEGER
  88.              The total number of eigenvalues found.  0 <= M <= N.  If RANGE =
  89.              'A', M = N, and if RANGE = 'I', M = IU-IL+1.
  90.  
  91.      W       (input) REAL array, dimension (N)
  92.              The first M elements of W contain the eigenvalues for which
  93.              eigenvectors are to be computed.  The eigenvalues should be
  94.              grouped by split-off block and ordered from smallest to largest
  95.              within the block ( The output array W from SLARRE is expected
  96.              here ).  Errors in W must be bounded by TOL (see above).
  97.  
  98.      IBLOCK  (input) INTEGER array, dimension (N)
  99.              The submatrix indices associated with the corresponding
  100.              eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs to the
  101.              first submatrix from the top, =2 if W(i) belongs to the second
  102.              submatrix, etc.
  103.  
  104.      Z       (output) COMPLEX array, dimension (LDZ, max(1,M) )
  105.              If JOBZ = 'V', then if INFO = 0, the first M columns of Z contain
  106.              the orthonormal eigenvectors of the matrix T corresponding to the
  107.              selected eigenvalues, with the i-th column of Z holding the
  108.              eigenvector associated with W(i).  If JOBZ = 'N', then Z is not
  109.              referenced.  Note: the user must ensure that at least max(1,M)
  110.              columns are supplied in the array Z; if RANGE = 'V', the exact
  111.              value of M is not known in advance and an upper bound must be
  112.              used.
  113.  
  114.      LDZ     (input) INTEGER
  115.              The leading dimension of the array Z.  LDZ >= 1, and if JOBZ =
  116.              'V', LDZ >= max(1,N).
  117.  
  118.      ISUPPZ  (output) INTEGER ARRAY, dimension ( 2*max(1,M) )
  119.              The support of the eigenvectors in Z, i.e., the indices
  120.              indicating the nonzero elements in Z. The i-th eigenvector is
  121.              nonzero only in elements ISUPPZ( 2*i-1 ) through ISUPPZ( 2*i ).
  122.  
  123.      GERSCH  (workspace) REAL array, dimension (2*N)
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. CCCCLLLLAAAARRRRRRRRVVVV((((3333SSSS))))                                                          CCCCLLLLAAAARRRRRRRRVVVV((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      WORK    (workspace) REAL array, dimension (13*N)
  141.  
  142.      IWORK   (workspace) INTEGER array, dimension (6*N)
  143.  
  144.      INFO    (output) INTEGER
  145.              = 0:  successful exit
  146.              < 0:  if INFO = -i, the i-th argument had an illegal value
  147.              > 0:  if INFO = 1, internal error in SLARRB if INFO = 2, internal
  148.              error in CSTEIN
  149.  
  150. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  151.      Based on contributions by
  152.         Inderjit Dhillon, IBM Almaden, USA
  153.         Osni Marques, LBNL/NERSC, USA
  154.         Ken Stanley, Computer Science Division, University of
  155.           California at Berkeley, USA
  156.  
  157.  
  158. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  159.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  160.  
  161.      This man page is available only online.
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.